home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / CIncludes / CommResources.h < prev    next >
C/C++ Source or Header  |  1996-05-01  |  4KB  |  140 lines

  1. /*
  2.      File:        CommResources.h
  3.  
  4.      Contains:    Communications Toolbox Resource Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __COMMRESOURCES__
  19. #define __COMMRESOURCES__
  20.  
  21. #ifndef __OSUTILS__
  22. #include <OSUtils.h>
  23. #endif
  24.  
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28.  
  29. #if PRAGMA_IMPORT_SUPPORTED
  30. #pragma import on
  31. #endif
  32.  
  33. #if PRAGMA_ALIGN_SUPPORTED
  34. #pragma options align=mac68k
  35. #endif
  36.  
  37. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  38.  
  39. enum {
  40.                                                                 /*    tool classes (also the tool file types)    */
  41.     classCM                        = 'cbnd',
  42.     classFT                        = 'fbnd',
  43.     classTM                        = 'tbnd'
  44. };
  45.  
  46.  
  47. enum {
  48.                                                                 /*    version of the Comm Resource Manager    */
  49.     curCRMVersion                = 2,                            /* constants general to the use of the Communications Resource Manager */
  50.     crmType                        = 9,                            /* queue type    */
  51.     crmRecVersion                = 1,                            /* version of queue structure */
  52.                                                                 /*    error codes */
  53.     crmGenericError                = -1,
  54.     crmNoErr                    = 0
  55. };
  56.  
  57. /* data structures general to the use of the Communications Resource Manager */
  58. typedef OSErr CRMErr;
  59. struct CRMRec {
  60.     QElemPtr                         qLink;                        /*reserved*/
  61.     short                             qType;                        /*queue type -- ORD(crmType) = 9*/
  62.     short                             crmVersion;                    /*version of queue element data structure*/
  63.     long                             crmPrivate;                    /*reserved*/
  64.     short                             crmReserved;                /*reserved*/
  65.     long                             crmDeviceType;                /*type of device, assigned by DTS*/
  66.     long                             crmDeviceID;                /*device ID; assigned when CRMInstall is called*/
  67.     long                             crmAttributes;                /*pointer to attribute block*/
  68.     long                             crmStatus;                    /*status variable - device specific*/
  69.     long                             crmRefCon;                    /*for device private use*/
  70. };
  71. typedef struct CRMRec CRMRec;
  72.  
  73. typedef CRMRec *CRMRecPtr;
  74. extern pascal CRMErr InitCRM(void );
  75.  
  76. extern pascal QHdrPtr CRMGetHeader(void );
  77.  
  78. extern pascal void CRMInstall(CRMRecPtr crmReqPtr);
  79.  
  80. extern pascal OSErr CRMRemove(CRMRecPtr crmReqPtr);
  81.  
  82. extern pascal CRMRecPtr CRMSearch(CRMRecPtr crmReqPtr);
  83.  
  84. extern pascal short CRMGetCRMVersion(void );
  85.  
  86. extern pascal Handle CRMGetResource(ResType theType, short theID);
  87.  
  88. extern pascal Handle CRMGet1Resource(ResType theType, short theID);
  89.  
  90. extern pascal Handle CRMGetIndResource(ResType theType, short index);
  91.  
  92. extern pascal Handle CRMGet1IndResource(ResType theType, short index);
  93.  
  94. extern pascal Handle CRMGetNamedResource(ResType theType, ConstStr255Param name);
  95.  
  96. extern pascal Handle CRMGet1NamedResource(ResType theType, ConstStr255Param name);
  97.  
  98. extern pascal void CRMReleaseResource(Handle theHandle);
  99.  
  100. extern pascal Handle CRMGetToolResource(short procID, ResType theType, short theID);
  101.  
  102. extern pascal Handle CRMGetToolNamedResource(short procID, ResType theType, ConstStr255Param name);
  103.  
  104. extern pascal void CRMReleaseToolResource(short procID, Handle theHandle);
  105.  
  106. extern pascal long CRMGetIndex(Handle theHandle);
  107.  
  108. extern pascal short CRMLocalToRealID(ResType bundleType, short toolID, ResType theType, short localID);
  109.  
  110. extern pascal short CRMRealToLocalID(ResType bundleType, short toolID, ResType theType, short realID);
  111.  
  112. extern pascal OSErr CRMGetIndToolName(OSType bundleType, short index, Str255 toolName);
  113.  
  114. extern pascal OSErr CRMFindCommunications(short *vRefNum, long *dirID);
  115.  
  116. extern pascal Boolean CRMIsDriverOpen(ConstStr255Param driverName);
  117.  
  118. extern pascal CRMErr CRMParseCAPSResource(Handle theHandle, ResType selector, unsigned long *value);
  119.  
  120. extern pascal OSErr CRMReserveRF(short refNum);
  121.  
  122. extern pascal OSErr CRMReleaseRF(short refNum);
  123.  
  124. #endif
  125.  
  126. #if PRAGMA_ALIGN_SUPPORTED
  127. #pragma options align=reset
  128. #endif
  129.  
  130. #if PRAGMA_IMPORT_SUPPORTED
  131. #pragma import off
  132. #endif
  133.  
  134. #ifdef __cplusplus
  135. }
  136. #endif
  137.  
  138. #endif /* __COMMRESOURCES__ */
  139.  
  140.